Nonvolatile memory is computer memory capable of retaining the stored information even when unpowered. Non-volatile memory is typically used for the task of secondary storage or long-term persistent storage and may be used in addition to volatile memory, which loses the stored information when unpowered. Nonvolatile memory can be formed into standalone memory circuits (e.g., USB flash drives) or may be embedded into integrated circuits containing other non-memory components, such as logic. Nonvolatile memory is becoming more popular because of its small size/high density, low power consumption, fast read and writes rates, retention, and other characteristics.
Flash memory is a common type of modifiable nonvolatile memory because of its high density and low fabrication costs. Flash memory is a transistor-based memory device that uses multiple gates per transistor and quantum tunneling for storing the information on its memory device. Flash memory uses a block-access architecture that can result in long access, erase, and writing times. Flash memory also suffers from low endurance, high power consumption, and some scaling limitations. In particular, flash memory generally requires higher operating voltages than other IC components, such as logic, making its embedding into chips particularly difficult. Additionally, flash memory requires many processing steps, which make it difficult to integrate with logic circuits for embedded applications.